Bar chart on race and sex
From the bar chart we can see most victims in NYC shooting cases from 2006 until now are male in Black. Broadly, Male victims outweigh Female victims in all races.
racesex_bar =
plot_ly(race_sex_vicdf, x = ~vic_race, y = ~F, type = 'bar', name = 'Female', alpha = 0.7) %>%
add_trace(y = ~M, name = 'Male') %>%
layout(yaxis = list(title = 'Count'), barmode = 'stack', colors = "viridis") %>%
layout(title = "Race and SEX (Victims)",
xaxis = list(title = ""))
racesex_bar
The bar chart of sex and race distribution of Perpetrators is similar to that of Victims. We can see most Perpetrators in NYC shooting cases from 2006 until now are male in Black. Broadly, Male Perpetrators outweigh Female Perpetrators in all races.
racesex_bar =
plot_ly(race_sex_perpdf, x = ~perp_race, y = ~F, type = 'bar', name = 'Female', alpha = 0.7) %>%
add_trace(y = ~M, name = 'Male') %>%
layout(yaxis = list(title = 'Count'), barmode = 'stack') %>%
layout(title = "Race and SEX (Perpetrators)",
xaxis = list(title = ""))
racesex_bar
Shooting cases by Borough
The Borough bar chart shows that Brooklyn area has the most shooting cases(more than 10k) and Staten Island has the least shooting cases(less than 1k) in NYC.
boro_bar = boro_df %>%
mutate(boro = fct_reorder(boro, count)) %>%
plot_ly(x = ~boro, y = ~count, color = ~boro, type = "bar", colors = "viridis", alpha = 0.8) %>%
layout(
title = "Shooting cases by Borough",
xaxis = list(title = "Borough")
)
boro_bar
Shooting cases by location(Common)
Cases with unrecorded location are dropped. Locations where shootings happened less than 10 times from 2006 until now are dropped.The bar chart only analyzes common locations that exist shooting cases those years. We can see from the chart that public houses, apartment buildings and private houses are top 3 locations that shooting cases may happen.
location_bar = location_df %>%
mutate(location_desc = fct_reorder(location_desc, count)) %>%
plot_ly(x = ~location_desc, y = ~count, color = ~location_desc, type = "bar", colors = "viridis", alpha = 0.8) %>%
layout(
title = "Shooting cases by location (common)",
xaxis = list(title = "location")
)
location_bar
Shooting Cases Trend before 2021 by Borough
The line plot shows the trend of shooting cases in NYC by Borough before 2021, because data in 2021 is only until the end of sepetember. Obviously, the change of year did not affect the shooting casesโ distribution among boroughs. Even though shooting rate decreased dramatically since 2014, there was a steep rise in 2020, which probably was resulted from the emergency of COVID-19.
Error in .makeMessage(..., domain = domain) :
argument "plot" is missing, with no default
LS0tCnRpdGxlOiAiRGF0YSBWaXN1YWxpemF0aW9uIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogeWVzCiAgICBkZl9wcmludDogcGFnZWQKICBodG1sX25vdGVib29rOgogICAgdG9jOiB5ZXMKZWRpdG9yX29wdGlvbnM6CiAgY2h1bmtfb3V0cHV0X3R5cGU6IGlubGluZQotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQpsaWJyYXJ5KHBsb3RseSkKbGlicmFyeShkcGx5cikKbGlicmFyeSh2aXJpZGlzKQpsaWJyYXJ5KGdnYW5pbWF0ZSkKbGlicmFyeShnZ21hcCkKdGhlbWVfc2V0KHRoZW1lX21pbmltYWwoKSArIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJib3R0b20iKSkKCmtuaXRyOjpvcHRzX2NodW5rJHNldCgKICBmaWcud2lkdGggPSA4LAogIGZpZy5oZWlnaHQgPSA2LAogIG91dC53aWR0aCA9ICI5MCUiLAogIG1lc3NhZ2UgPSBGQUxTRSwKICB3YXJuaW5nID0gRkFMU0UsCiAgZXJyb3IgPSBGQUxTRQopCgpvcHRpb25zKAogIGdncGxvdDIuY29udGludW91cy5jb2xvciA9ICJ2aXJpZGlzIiwKICBnZ3Bsb3QyLmNvbnRpbnVvdXMuZmlsbCA9ICJ2aXJpZGlzIgopCgpzY2FsZV9jb2xvcl9kaXNjcmV0ZSA9IHNjYWxlX2NvbG9yX3ZpcmlkaXNfZApzY2FsZV9maWxsX2Rpc2NyZXRlID0gc2NhbGVfZmlsbF92aXJpZGlzX2QKCmBgYAoKIyBCYXIgY2hhcnQgb24gcmFjZSBhbmQgc2V4CgpGcm9tIHRoZSBiYXIgY2hhcnQgd2UgY2FuIHNlZSBtb3N0IHZpY3RpbXMgaW4gTllDIHNob290aW5nIGNhc2VzIGZyb20gMjAwNiB1bnRpbCBub3cgYXJlIG1hbGUgaW4gQmxhY2suIEJyb2FkbHksIE1hbGUgdmljdGltcyBvdXR3ZWlnaCBGZW1hbGUgdmljdGltcyBpbiBhbGwgcmFjZXMuCgpgYGB7ciBiYXIgY2hhcnR9CnJhY2VzZXhfYmFyID0gCiAgcGxvdF9seShyYWNlX3NleF92aWNkZiwgeCA9IH52aWNfcmFjZSwgeSA9IH5GLCB0eXBlID0gJ2JhcicsIG5hbWUgPSAnRmVtYWxlJywgYWxwaGEgPSAwLjcpICU+JSAKICBhZGRfdHJhY2UoeSA9IH5NLCBuYW1lID0gJ01hbGUnKSAlPiUgCiAgbGF5b3V0KHlheGlzID0gbGlzdCh0aXRsZSA9ICdDb3VudCcpLCBiYXJtb2RlID0gJ3N0YWNrJykgJT4lIAogIGxheW91dCh0aXRsZSA9ICJSYWNlIGFuZCBTRVggKFZpY3RpbXMpIiwKICAgICAgICAgeGF4aXMgPSBsaXN0KHRpdGxlID0gIiIpKQpyYWNlc2V4X2JhcgpgYGAKClRoZSBiYXIgY2hhcnQgb2Ygc2V4IGFuZCByYWNlIGRpc3RyaWJ1dGlvbiBvZiBQZXJwZXRyYXRvcnMgaXMgc2ltaWxhciB0byB0aGF0IG9mIFZpY3RpbXMuIFdlIGNhbiBzZWUgbW9zdCBQZXJwZXRyYXRvcnMgaW4gTllDIHNob290aW5nIGNhc2VzIGZyb20gMjAwNiB1bnRpbCBub3cgYXJlIG1hbGUgaW4gQmxhY2suIEJyb2FkbHksIE1hbGUgUGVycGV0cmF0b3JzIG91dHdlaWdoIEZlbWFsZSBQZXJwZXRyYXRvcnMgaW4gYWxsIHJhY2VzLgoKYGBge3IgYmFyIGNoYXJ0IHBlcnB9CnJhY2VzZXhfYmFyID0gCiAgcGxvdF9seShyYWNlX3NleF9wZXJwZGYsIHggPSB+cGVycF9yYWNlLCB5ID0gfkYsIHR5cGUgPSAnYmFyJywgbmFtZSA9ICdGZW1hbGUnLCBhbHBoYSA9IDAuNykgJT4lIAogIGFkZF90cmFjZSh5ID0gfk0sIG5hbWUgPSAnTWFsZScpICU+JSAKICBsYXlvdXQoeWF4aXMgPSBsaXN0KHRpdGxlID0gJ0NvdW50JyksIGJhcm1vZGUgPSAnc3RhY2snKSAlPiUgCiAgbGF5b3V0KHRpdGxlID0gIlJhY2UgYW5kIFNFWCAoUGVycGV0cmF0b3JzKSIsCiAgICAgICAgIHhheGlzID0gbGlzdCh0aXRsZSA9ICIiKSkKcmFjZXNleF9iYXIKYGBgCgoKIyBTaG9vdGluZyBjYXNlcyBieSBCb3JvdWdoCgpUaGUgQm9yb3VnaCBiYXIgY2hhcnQgc2hvd3MgdGhhdCBCcm9va2x5biBhcmVhIGhhcyB0aGUgbW9zdCBzaG9vdGluZyBjYXNlcyhtb3JlIHRoYW4gMTBrKSBhbmQgU3RhdGVuIElzbGFuZCBoYXMgdGhlIGxlYXN0IHNob290aW5nIGNhc2VzKGxlc3MgdGhhbiAxaykgaW4gTllDLgoKYGBge3IgQm9yb3VnaH0KYm9yb19iYXIgPSBib3JvX2RmICU+JSAKICBtdXRhdGUoYm9ybyA9IGZjdF9yZW9yZGVyKGJvcm8sIGNvdW50KSkgJT4lIAogIHBsb3RfbHkoeCA9IH5ib3JvLCB5ID0gfmNvdW50LCBjb2xvciA9IH5ib3JvLCB0eXBlID0gImJhciIsIGNvbG9ycyA9ICJ2aXJpZGlzIiwgYWxwaGEgPSAwLjgpICU+JSAKICAgIGxheW91dCgKICAgICAgdGl0bGUgPSAiU2hvb3RpbmcgY2FzZXMgYnkgQm9yb3VnaCIsCiAgICAgIHhheGlzID0gbGlzdCh0aXRsZSA9ICJCb3JvdWdoIikKICAgICAgKQpib3JvX2JhcgpgYGAKCgoKCiMgU2hvb3RpbmcgY2FzZXMgYnkgbG9jYXRpb24oQ29tbW9uKQoKQ2FzZXMgd2l0aCB1bnJlY29yZGVkIGxvY2F0aW9uIGFyZSBkcm9wcGVkLiBMb2NhdGlvbnMgd2hlcmUgc2hvb3RpbmdzIGhhcHBlbmVkIGxlc3MgdGhhbiAxMCB0aW1lcyBmcm9tIDIwMDYgdW50aWwgbm93IGFyZSBkcm9wcGVkLlRoZSBiYXIgY2hhcnQgb25seSBhbmFseXplcyBjb21tb24gbG9jYXRpb25zIHRoYXQgZXhpc3Qgc2hvb3RpbmcgY2FzZXMgdGhvc2UgeWVhcnMuIFdlIGNhbiBzZWUgZnJvbSB0aGUgY2hhcnQgdGhhdCBwdWJsaWMgaG91c2VzLCBhcGFydG1lbnQgYnVpbGRpbmdzIGFuZCBwcml2YXRlIGhvdXNlcyBhcmUgdG9wIDMgbG9jYXRpb25zIHRoYXQgc2hvb3RpbmcgY2FzZXMgbWF5IGhhcHBlbi4KCmBgYHtyIGxvY2F0aW9ufQpsb2NhdGlvbl9iYXIgPSBsb2NhdGlvbl9kZiAlPiUgCiAgbXV0YXRlKGxvY2F0aW9uX2Rlc2MgPSBmY3RfcmVvcmRlcihsb2NhdGlvbl9kZXNjLCBjb3VudCkpICU+JSAKICBwbG90X2x5KHggPSB+bG9jYXRpb25fZGVzYywgeSA9IH5jb3VudCwgY29sb3IgPSB+bG9jYXRpb25fZGVzYywgdHlwZSA9ICJiYXIiLCBjb2xvcnMgPSAidmlyaWRpcyIsIGFscGhhID0gMC44KSAlPiUgCiAgICBsYXlvdXQoCiAgICAgIHRpdGxlID0gIlNob290aW5nIGNhc2VzIGJ5IGxvY2F0aW9uIChjb21tb24pIiwKICAgICAgeGF4aXMgPSBsaXN0KHRpdGxlID0gImxvY2F0aW9uIikKICAgICAgKQpsb2NhdGlvbl9iYXIKYGBgCgoKCiMgU2hvb3RpbmcgQ2FzZXMgVHJlbmQgYmVmb3JlIDIwMjEgYnkgQm9yb3VnaAoKVGhlIGxpbmUgcGxvdCBzaG93cyB0aGUgdHJlbmQgb2Ygc2hvb3RpbmcgY2FzZXMgaW4gTllDIGJ5IEJvcm91Z2ggYmVmb3JlIDIwMjEsIGJlY2F1c2UgZGF0YSBpbiAyMDIxIGlzIG9ubHkgdW50aWwgdGhlIGVuZCBvZiBzZXBldGVtYmVyLiBPYnZpb3VzbHksIHRoZSBjaGFuZ2Ugb2YgeWVhciBkaWQgbm90IGFmZmVjdCB0aGUgc2hvb3RpbmcgY2FzZXMnIGRpc3RyaWJ1dGlvbiBhbW9uZyBib3JvdWdocy4gRXZlbiB0aG91Z2ggc2hvb3RpbmcgcmF0ZSBkZWNyZWFzZWQgZHJhbWF0aWNhbGx5IHNpbmNlIDIwMTQsIHRoZXJlIHdhcyBhIHN0ZWVwIHJpc2UgaW4gMjAyMCwgd2hpY2ggcHJvYmFibHkgd2FzIHJlc3VsdGVkIGZyb20gdGhlIGVtZXJnZW5jeSBvZiBDT1ZJRC0xOS4KCmBgYHtyIFNob290aW5nIENhc2VzIFRyZW5kIGJlZm9yZSAyMDIwLCBlY2hvPUZBTFNFLCBmaWcuYWxpZ249J2NlbnRlcid9CnRyZW5kX3Bsb3QgPSBnZ3Bsb3QoeWVhcl90cmVuZF9kZl8yMDIwLCBhZXMoeCA9IHllYXIsIHkgPSBjb3VudCwgY29sID0gZmFjdG9yKGJvcm8pKSkgKyAKICBnZW9tX2xpbmUoc2l6ZSA9IDEpICsgCiAgZ2VvbV9wb2ludChzaXplID0gMikgKyAKICBsYWJzKHRpdGxlID0gIlNob290aW5nIENhc2VzIFRyZW5kIGJlZm9yZSAyMDIxIiwKICAgICAgIHN1YnRpdGxlID0gJ1llYXI6IHthcy5pbnRlZ2VyKGZyYW1lX2Fsb25nKX0nLCAKICAgICAgIHkgPSAiVG90YWwgY2FzZXMgcGVyIHllYXIiKSArCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSkpICsKICB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41LCBzaXplID0gMTIpKSArCiAgc2NhbGVfeF9jb250aW51b3VzKGJyZWFrcyA9IHNlcShmcm9tID0gMjAwNiwgdG8gPSAyMDIwLCBieSA9IDEpKSArCiAgdHJhbnNpdGlvbl9yZXZlYWwoeWVhcikgCnRyZW5kX3Bsb3QKYGBgCgoKCgo=